<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
	</head>
	<body>
		<script>
			// typeof 检测数据类型，以字符串的形式返回
			var k=true;
			document.write(typeof k+'<br>'+'<br>')
			
			/*
			 * 将字符串转换成数字
			 * parseInt（）将字符串转换成整数，将小数点后面的直接舍去
			 * 他是从左至右的逐个转换字符串，碰到非数字字符，直接停止，返回已转换内容
			 * 倘若第一个即为非数字字符，则返回NaN
			 * NaN表示不是数字，但数据类型是number
			 * parseFloat()将字符串转换为浮点（小数）
			 * 如果出现多个小数点，从左至右，转换至第二个小数点时，直接返回，不再转换
			 * 
			*/
			var s="a123456.123";//倘若去掉引号亦可转换
			document.write(parseInt(s)+"<br>");//显示123456
			document.write(typeof parseInt(s)+"<br>");//number
			
			var d="123.456.789";
			document.write(parseFloat(d)+"<br>");//显示123.456
			document.write(typeof parseFloat(d)+"<br>"+'<br>'+"<br>");//number
			
			
			//Number()整体转换（非逐个转换）
			//a="123a"不能转换
			//a=""返回0
			//布尔true返回1，fales返回0
			//Null返回0
			//undefined返回NaN
			
			var p="123a"
			document.write(Number(p)+"<br>");
			document.write(typeof Number(p)+"<br>"+"<br>");
			
			/*
			 * 其他数据类型转换为布尔类型Boolean
			 * 字符串：字符串为空返回false，反之返回true
			 * 数字：当数字为0时返回false，非0时返回true
			 * null：返回false
			 * underfined：返回false
			 */
			var m=undefined;
			document.write(Boolean(m)+"<br>");//false
			document.write(typeof Boolean(m)+"<br>"+"<br>");//Boolean
			
			/*
			 * 其他数据类型转换为字符串string（）
			 * 所有数据类型转换为字符串，数据不变，但类型变为字符串
			 */
			var i=undefined;
			document.write(String(i)+"<br>");//undefined
			document.write(typeof String(i)+"<br>"+"<br>");//String
			
			
			/*
			 * toString（x）
			 * 1.将其他数据类型转换为字符串
			 * 2.可以进行进制转换，x表示转换的进制
			 */
			var a=10;
			document.write(a.toString(8)+"<br>");
			document.write(typeof a.toString(8)+"<br>"+"<br>");
			
			
			//toFixed(x)四舍五入到小数点后x位
			//类型为string
			
			var a=3.1415926;
			document.write(a.toFixed(3)+"<br>");//3.142
			document.write(typeof a.toFixed(3)+"<br>"+"<br>");//String
			
			//toExponential(x)
			//将数字转换为指数形式。x表示转换之后小数点的位数
			//即科学技术法表示后，对数值部分进行精确操作
			var a=123456789;
			document.write(a.toExponential(4)+"<br>");//1.2346e+8
			document.write(typeof a.toExponential(4)+"<br>"+"<br>");//string
			
			/*
			 * toPrecision(x)
			 * 一共保留x位，若x小于整数的位数，则以指数形式（即科学计数法）返回
			 */
			var a=12345.6789;
			document.write(a.toPrecision(4)+"<br>");//1.235e+4
			document.write(typeof a.toPrecision(4)+"<br>"+"<br>");//string
			
			
			
			
			var a='123';
			var b=a+6;
			document.write("<br>"+'没用Number转换前:'+b);
			document.write('<br/>');
			var c=Number(a)+6;
			document.write('用Number转换后:'+c);
			document.write('<hr/>');
			var x=33;
			var y=x+66;
			document.write('没用string转换前:'+y);
			document.write('<br/>');
			var m=String(x)+66;
			document.write('用string转换后：'+m);
			document.write('<hr/>');
			var t=3;
			var f=0;
	
			var k=Boolean(t);
			var s=Boolean(f)
			document.write('用boolean转换后：t='+k+',f='+s+'<br/>');
			
			
			
		</script>
	</body>
</html>
